package com.zjxf.service;

import com.zjxf.base.bean.po.UmsStoreSeller;
import com.zjxf.base.bean.vo.VoUmsStoreSeller;
import com.zjxf.base.common.OperationException;
import com.zjxf.utils.RadomUP;

import java.util.List;
import java.util.Optional;

/**
 * 商家端用户
 *
 * @author ZhangWei
 * @date 2021/3/26/026 15:41
 */
public interface UmsStoreSellerService {

    /**
     * 用户id
     *
     * @param id 主键id
     * @return Optional<User>
     */
    Optional<UmsStoreSeller> findById(Long id);

    /**
     * 添加或修改
     *
     * @param voSeller
     */
    void addOrUpdate(VoUmsStoreSeller.addOrUpdate vo) throws OperationException;

    /**
     * 根据用户名称查询用户
     */
    Optional<UmsStoreSeller> findByUsername(String userName);

    /**
     * 创建默认商家账号
     *
     * @param id
     * @return
     */
    RadomUP.UP defaultSeller(Long id);

    /**
     * 查询多个商家id集合
     *
     * @param sellIdList 商家id集合
     * @return List<Product>
     */
    List<UmsStoreSeller> findBySellerIdIn(List<Long> sellIdList);

    /**
     * 查询全部未删除的商家集合
     */
    List<UmsStoreSeller> findAll();
}
